1. Field of the Invention
The present invention relates to an integrated circuit microcontroller for the rapid execution of a large number of operations which can be broken down into successive sequences of operations of the same kind, which includes a specialized processing module for executing sequences of such operations on a plurality of variable and parameter operands applied to its inputs.
2. Description of the Related Art
In general, it is relatively easy to rapidly process a large number of data by means of a computer when no restrictions are imposed on the power of the computer.
Current developments in the data processing field relate to small-sized systems making the greatest possible use of devices integrating multiple and relatively complex functions. A significant example, in the field of miniaturized and portable processing devices, is represented by smart cards or "chip cards", capable of multiple applications, for example: exchange of banking data, access control, signature authentication and the like.
Generally, a smart card functions by means of a single integrated semiconductor microcontroller which alone provides the functions of program management, of storage, of the processing of data entered at the inputs of the card, and of the transmission on its outputs of the processed data.
When the data processing to be performed comprises a large number of similar operations, which can in particular be broken down into sequences of operations of the same kind, on operands with a reduced format (8 bits wide for example), it is advantageous to provide, beside the central processing unit which is on the whole reserved for overall management tasks, a specialized processing module, of the hard-wired logic type, capable of performing at high speed a certain type of arithmetic and/or logic to the central processing unit, at least during the duration of a sequence of operations or series of successive elementary processing cycles. Therefore, an operation is either a single elementary arithmetic calculation, like addition, subtraction, multiplication, and the like, or a logic operation like bitwise AND, OR, XOR, or the like, or still further, a combination of the former expressions taken together but still being of a limited number, such as 2-4, but not limited thereto, and always being executed in the same sequential order. "Of the same kind" means that the values of the operands may differ between successive operations, but the expressions on which the operations are based remain the same during a given sequence. Various problems relating to competitive access to shared memory have been described in EP-A 320 041 to Alcatel and Bell Telephone. This prior art reference does not specifically describe details of the specialized processing module and of the adaptation thereof to the multi-sequential nature of the processing therein.
Since the microcontroller is intended to be incorporated in a smart card, the greatest care is taken in reconciling the low capacity of memories imposed for technical reasons of integration and cost, the clock speed which is also limited by currently achievable technology, and the necessarily reduced format (for example 8 or 16 bits) of the data processed per operation, with the speed of execution of the processing. In practice, the overall duration of the processing must not exceed a limit in the order of 1 second to represent an acceptable waiting time for the user in an interaction process.
Thus, the microcontroller must be arranged in such a way as to produce the greatest possible processing efficiency despite the severe imitations of the means used, and more precisely the size of the semiconductor area available.
Further, FR-A-2613861 in its functioning has stoppage times for the specialized processing module, particularly for the reloading by the central processing unit of new data to be processed, and also stoppage times for the central processing unit when access to the working memory is required by the processing module which deprives the central processing unit of access to the internal address and data buses. These stoppage times result in a very significant slowing down of the known microcontroller.